package com.heaven1949.tmall.gateway.controller;

import java.util.List;

/**
 * 路由配置信息接口类
 * @author liwanhu
 *
 */
public interface RouteCfgService {
	
	/**
	 * 保存路由配置信息
	 * @param request
	 */
	public void saveRouteCfg(RouteSaveRequest request);
	
	public RouteCfgVO queryDetailById(Long id);
	
	public void deleteRouteCfg(Long id);
	
	public void changeRouteCfgStatus(RouteCfgStatusChangeRequest request);
	
	public List<RouteCfgDO> queryAllRouteCfg();
	
	/**
	 * 分页查询路由配置信息
	 * @param query
	 * @return
	 */
	public PageResult<RouteCfgVO> queryRoutePage(RouteCfgQuery query);
	
	/**
	 * 刷新所有路由信息
	 */
	public void refreshAllRoutes();
	
	/**
	 * 获取服务对应的路由配置
	 * @param serviceId
	 * @return
	 */
	public List<RouteCfgVO> getServiceRoutes(String serviceId);
	
	public RouteCfgVO getCacheServiceRoute(String serviceKey);

}
